lexer grammar ANTLRLexer;

options {
  language = Java;
}

@header {
package PL.prac6;
}

@rulecatch {catch (RecognitionException e) {
  throw e;}
 }
fragment ESPACIO: (' ');
  fragment NUEVA_LINEA: ('\r\n'|'\n');
    BLANCO: (ESPACIO|'\t'|'\r'|NUEVA_LINEA) {$channel = HIDDEN;}; 
BARRAS: ('//');
LINEA_COMENTARIO: BARRAS (.)* NUEVA_LINEA {$channel = HIDDEN;};
APARENTESIS: '(';
CPARENTESIS: ')';
DOSPUNTOS: ':';
SEPARADOR: ';';
ASTERISCO: '*';
MAS: '+';
OR: '|';
ENDOFFILE: 'EOF';

fragment LETRA : ('a'..'z')| ('A'..'Z')|'_'; 
fragment DIGITO : '0'..'9'; 
IDENT: LETRA (DIGITO|LETRA)*;

fragment COMILLAS: '"';
CADENA: COMILLAS (~(COMILLAS))* COMILLAS;
